package com.lottery.ruok.lottrey.retrofitModule.response;

import android.os.Parcel;
import android.os.Parcelable;

import com.google.gson.annotations.SerializedName;
import com.google.gson.internal.LinkedHashTreeMap;

import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

/**
 * Created by ASUS on 2017/8/1.
 */

public class GetLotteryDetailResponse {
    private String id;
    private String name;
    private String image_url;
    private String category_code;
    private String item_code;
    private String number_repeat;
    private String item_type;
    private String status;
    private String msg;
    private List<LayoutsBean> layouts;
    private String remaining_balance;
    private LinkedHashTreeMap<String, String> sx;
    private String number_format;
    private String number_range;
    /**
     * color : {"red":["01","02","07","08","12","13","18","19","23","24","29","30","34","35","40","45","46"],"blue":["03","04","09","10","14","15","20","25","26","31","36","37","41","42","47","48"],"green":["05","06","11","16","17","21","22","27","28","32","33","38","39","43","44","49"]}
     */

    private ColorBean color;


    public String getRemaining_balance() {
        return remaining_balance;
    }

    public void setRemaining_balance(String remaining_balance) {
        this.remaining_balance = remaining_balance;
    }

    public String getNumber_range() {
        return number_range;
    }

    public void setNumber_range(String number_range) {
        this.number_range = number_range;
    }

    public String getNumber_format() {
        return number_format;
    }

    public void setNumber_format(String number_format) {
        this.number_format = number_format;
    }

    public LinkedHashTreeMap<String, String> getSx() {
        return sx;
    }

    public void setSx(LinkedHashTreeMap<String, String> sx) {
        this.sx = sx;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getImage_url() {
        return image_url;
    }

    public void setImage_url(String image_url) {
        this.image_url = image_url;
    }

    public String getCategory_code() {
        return category_code;
    }

    public void setCategory_code(String category_code) {
        this.category_code = category_code;
    }

    public String getItem_code() {
        return item_code;
    }

    public void setItem_code(String item_code) {
        this.item_code = item_code;
    }

    public String getNumber_repeat() {
        return number_repeat;
    }

    public void setNumber_repeat(String number_repeat) {
        this.number_repeat = number_repeat;
    }

    public String getItem_type() {
        return item_type;
    }

    public void setItem_type(String item_type) {
        this.item_type = item_type;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public List<LayoutsBean> getLayouts() {
        return layouts;
    }

    public void setLayouts(List<LayoutsBean> layouts) {
        this.layouts = layouts;
    }

    public ColorBean getColor() {
        return color;
    }

    public void setColor(ColorBean color) {
        this.color = color;
    }

    public static class LayoutsBean {

        private String id;
        private String name;
        private String layout_code;
        private String is_leaf;
        private String selected;
        private String selecteds = "0";

        public String getSelecteds() {
            return selecteds;
        }

        public void setSelecteds(String selecteds) {
            this.selecteds = selecteds;
        }
        private List<ChildrenBeanX> children;
        private LinkedHashTreeMap max_odds;//有序的map
        private List<List<OddsBean>> odds;
        private String rule_id;
        private String tips = "";
        private String example = "";
        private String help = "";
        private String max_rakeback;
        private String need_number;

        public String getNeed_number() {
            return need_number;
        }

        public void setNeed_number(String need_number) {
            this.need_number = need_number;
        }

        public String getMax_rakeback() {
            return max_rakeback;
        }

        public void setMax_rakeback(String max_rakeback) {
            this.max_rakeback = max_rakeback;
        }

        public String getTips() {
            return tips;
        }

        public void setTips(String tips) {
            this.tips = tips;
        }

        public String getExample() {
            return example;
        }

        public void setExample(String example) {
            this.example = example;
        }

        public String getHelp() {
            return help;
        }

        public void setHelp(String help) {
            this.help = help;
        }

        public String getRule_id() {
            return rule_id;
        }

        public void setRule_id(String rule_id) {
            this.rule_id = rule_id;
        }

        public LinkedHashTreeMap getMax_odds() {
            return max_odds;
        }

        public void setMax_odds(LinkedHashTreeMap max_odds) {
            this.max_odds = max_odds;
        }

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getLayout_code() {
            return layout_code;
        }

        public void setLayout_code(String layout_code) {
            this.layout_code = layout_code;
        }

        public String getIs_leaf() {
            return is_leaf;
        }

        public void setIs_leaf(String is_leaf) {
            this.is_leaf = is_leaf;
        }

        public String getSelected() {
            return selected;
        }

        public void setSelected(String selected) {
            this.selected = selected;
        }

        public List<ChildrenBeanX> getChildren() {
            return children;
        }

        public void setChildren(List<ChildrenBeanX> children) {
            this.children = children;
        }

        public List<List<OddsBean>> getOdds() {
            return odds;
        }

        public void setOdds(List<List<OddsBean>> odds) {
            this.odds = odds;
        }

        public static class ChildrenBeanX {

            private String id;
            private String name;
            private String layout_code;
            private String is_leaf;
            private String selected;
            private String selecteds = "0";

            public String getSelecteds() {
                return selecteds;
            }

            public void setSelecteds(String selecteds) {
                this.selecteds = selecteds;
            }
            private List<ChildrenBean> children;
            private LinkedHashTreeMap max_odds;//有序的map
            private String is_last;
            private List<String> nums;
            private List<ChildrenBean> items;
            private String rule_id;
            private String need_number;
            private String max_rakeback;

            public String getMax_rakeback() {
                return max_rakeback;
            }

            public void setMax_rakeback(String max_rakeback) {
                this.max_rakeback = max_rakeback;
            }

            public String getNeed_number() {
                return need_number;
            }

            public void setNeed_number(String need_number) {
                this.need_number = need_number;
            }

            public String getRule_id() {
                return rule_id;
            }

            public void setRule_id(String rule_id) {
                this.rule_id = rule_id;
            }

            /**
             * tabs : {"野兽":["鼠","虎","龙","猴","兔","蛇"],"家禽":["马","狗","牛","羊","鸡","鸡"],"单":["牛","兔","蛇","羊","鸡","猪"],"双":["鼠","虎","龙","马","猴","狗"],"前肖":["鼠","牛","虎","兔","龙","蛇"],"后肖":["马","羊","猴","鸡","狗","猪"],"天肖":["牛","兔","龙","马","猴","猪"],"地肖":["鼠","虎","蛇","羊","鸡","狗"]}
             */

            private LinkedHashTreeMap<String, List<String>> tabs;

            public LinkedHashTreeMap<String, List<String>> getTabs() {
                return tabs;
            }

            public void setTabs(LinkedHashTreeMap<String, List<String>> tabs) {
                this.tabs = tabs;
            }

            public String getIs_last() {
                return is_last;
            }

            public void setIs_last(String is_last) {
                this.is_last = is_last;
            }

            public LinkedHashTreeMap getMax_odds() {
                return max_odds;
            }

            public void setMax_odds(LinkedHashTreeMap max_odds) {
                this.max_odds = max_odds;
            }

            public String getId() {
                return id;
            }

            public void setId(String id) {
                this.id = id;
            }

            public String getName() {
                return name;
            }

            public void setName(String name) {
                this.name = name;
            }

            public String getLayout_code() {
                return layout_code;
            }

            public void setLayout_code(String layout_code) {
                this.layout_code = layout_code;
            }

            public String getIs_leaf() {
                return is_leaf;
            }

            public void setIs_leaf(String is_leaf) {
                this.is_leaf = is_leaf;
            }

            public String getSelected() {
                return selected;
            }

            public void setSelected(String selected) {
                this.selected = selected;
            }

            public List<ChildrenBean> getChildren() {
                return children;
            }

            public void setChildren(List<ChildrenBean> children) {
                this.children = children;
            }

            public List<String> getNums() {
                return nums;
            }

            public void setNums(List<String> nums) {
                this.nums = nums;
            }

            public List<ChildrenBean> getItems() {
                return items;
            }

            public void setItems(List<ChildrenBean> items) {
                this.items = items;
            }

            public static class ChildrenBean implements Serializable{
                /**
                 * id : 19
                 * name : 复式
                 * layout_code : wuxing_wuxingzhixuan_fushi
                 * tips : 从万、千、百、十、个位各选一个号码组成一注。
                 * example : 投注方案：23456；开奖号码：23456，即中五星直选。
                 * help : 从万位、千位、百位、十位、个位中选择一个5位数号码组成一注，所选号码与开奖号码全部相同，且顺序一致，即为中奖。
                 * duplex : comb
                 * need_row : 5
                 * need_number : 1
                 * input : 0
                 * is_leaf : 1
                 * selected : 0
                 * multiple : 1
                 * rule_id : 90
                 * max_odds : {"0":"98000.00"}
                 * min_odds : {"0":"85000.00"}
                 * max_rakeback : 13.00
                 * min_rakeback : 0.00
                 * pankou_id : 40
                 * notes : null
                 * danqi : 500000
                 * danzhu : 5000
                 * names : A盘
                 * is_allow : 1
                 * status2 : 1
                 * selects : [{"id":"1","label":"万位","content":[0,1,2,3,4,5,6,7,8,9],"tools":"1"},{"id":"2","label":"千位","content":[0,1,2,3,4,5,6,7,8,9],"tools":"1"},{"id":"3","label":"百位","content":[0,1,2,3,4,5,6,7,8,9],"tools":"1"},{"id":"4","label":"十位","content":[0,1,2,3,4,5,6,7,8,9],"tools":"1"},{"id":"5","label":"个位","content":[0,1,2,3,4,5,6,7,8,9],"tools":"1"}]
                 */

                private String id;
                private String name;
                private String layout_code;
                private String tips;
                private String example;
                private String help;
                private String duplex;
                private String need_row;
                private String need_number;
                private String input;
                private String is_leaf;
                private String selected;
                private String selecteds = "0";

                public String getSelecteds() {
                    return selecteds;
                }

                public void setSelecteds(String selecteds) {
                    this.selecteds = selecteds;
                }

                private String multiple;
                private String rule_id;
                private LinkedHashMap max_odds;
                private LinkedHashMap min_odds;
                private LinkedHashMap theory_odds;
                private float max_profit;
                private String min_profit;

                public float getMax_profit() {
                    return max_profit;
                }

                public void setMax_profit(float max_profit) {
                    this.max_profit = max_profit;
                }

                public String getMin_profit() {
                    return min_profit;
                }

                public void setMin_profit(String min_profit) {
                    this.min_profit = min_profit;
                }

                public LinkedHashMap getTheory_odds() {
                    return theory_odds;
                }

                public void setTheory_odds(LinkedHashMap theory_odds) {
                    this.theory_odds = theory_odds;
                }

                private String max_rakeback;
                private String min_rakeback;
                private String pankou_id;
                private Map<String, String> notes;
                private String danqi;
                private String danzhu;
                private String names;
                private String is_allow;
                private String status2;
                private List<SelectsBean> selects;
                private List<CheckboxsBean> checkboxs;
                private String sx;
                private boolean isFirst;//是不是相应的第一条数据
                private String title;

                public String getTitle() {
                    return title;
                }

                public void setTitle(String title) {
                    this.title = title;
                }

                public boolean isFirst() {
                    return isFirst;
                }

                public void setFirst(boolean first) {
                    isFirst = first;
                }

                public String getSx() {
                    return sx;
                }

                public void setSx(String sx) {
                    this.sx = sx;
                }

                public String getId() {
                    return id;
                }

                public void setId(String id) {
                    this.id = id;
                }

                public String getName() {
                    return name;
                }

                public void setName(String name) {
                    this.name = name;
                }

                public String getLayout_code() {
                    return layout_code;
                }

                public void setLayout_code(String layout_code) {
                    this.layout_code = layout_code;
                }

                public String getTips() {
                    return tips;
                }

                public void setTips(String tips) {
                    this.tips = tips;
                }

                public String getExample() {
                    return example;
                }

                public void setExample(String example) {
                    this.example = example;
                }

                public String getHelp() {
                    return help;
                }

                public void setHelp(String help) {
                    this.help = help;
                }

                public String getDuplex() {
                    return duplex;
                }

                public void setDuplex(String duplex) {
                    this.duplex = duplex;
                }

                public String getNeed_row() {
                    return need_row;
                }

                public void setNeed_row(String need_row) {
                    this.need_row = need_row;
                }

                public String getNeed_number() {
                    return need_number;
                }

                public void setNeed_number(String need_number) {
                    this.need_number = need_number;
                }

                public String getInput() {
                    return input;
                }

                public void setInput(String input) {
                    this.input = input;
                }

                public String getIs_leaf() {
                    return is_leaf;
                }

                public void setIs_leaf(String is_leaf) {
                    this.is_leaf = is_leaf;
                }

                public String getSelected() {
                    return selected;
                }

                public void setSelected(String selected) {
                    this.selected = selected;
                }

                public String getMultiple() {
                    return multiple;
                }

                public void setMultiple(String multiple) {
                    this.multiple = multiple;
                }

                public String getRule_id() {
                    return rule_id;
                }

                public void setRule_id(String rule_id) {
                    this.rule_id = rule_id;
                }

                public LinkedHashMap getMax_odds() {
                    return max_odds;
                }

                public void setMax_odds(LinkedHashMap max_odds) {
                    this.max_odds = max_odds;
                }

                public LinkedHashMap getMin_odds() {
                    return min_odds;
                }

                public void setMin_odds(LinkedHashMap min_odds) {
                    this.min_odds = min_odds;
                }

                public String getMax_rakeback() {
                    return max_rakeback;
                }

                public void setMax_rakeback(String max_rakeback) {
                    this.max_rakeback = max_rakeback;
                }

                public String getMin_rakeback() {
                    return min_rakeback;
                }

                public void setMin_rakeback(String min_rakeback) {
                    this.min_rakeback = min_rakeback;
                }

                public String getPankou_id() {
                    return pankou_id;
                }

                public void setPankou_id(String pankou_id) {
                    this.pankou_id = pankou_id;
                }

                public Map<String, String> getNotes() {
                    return notes;
                }

                public void setNotes(Map<String, String> notes) {
                    this.notes = notes;
                }

                public String getDanqi() {
                    return danqi;
                }

                public void setDanqi(String danqi) {
                    this.danqi = danqi;
                }

                public String getDanzhu() {
                    return danzhu;
                }

                public void setDanzhu(String danzhu) {
                    this.danzhu = danzhu;
                }

                public String getNames() {
                    return names;
                }

                public void setNames(String names) {
                    this.names = names;
                }

                public String getIs_allow() {
                    return is_allow;
                }

                public void setIs_allow(String is_allow) {
                    this.is_allow = is_allow;
                }

                public String getStatus2() {
                    return status2;
                }

                public void setStatus2(String status2) {
                    this.status2 = status2;
                }

                public List<SelectsBean> getSelects() {
                    return selects;
                }

                public void setSelects(List<SelectsBean> selects) {
                    this.selects = selects;
                }

                public List<CheckboxsBean> getCheckboxs() {
                    return checkboxs;
                }

                public void setCheckboxs(List<CheckboxsBean> checkboxs) {
                    this.checkboxs = checkboxs;
                }

                public static class MaxOddsBean {
                    /**
                     * 0 : 98000.00
                     */

                    @SerializedName("0")
                    private String _$0;

                    public String get_$0() {
                        return _$0;
                    }

                    public void set_$0(String _$0) {
                        this._$0 = _$0;
                    }
                }

                public static class MinOddsBean implements Serializable{
                    /**
                     * 0 : 85000.00
                     */

                    @SerializedName("0")
                    private String _$0;

                    public String get_$0() {
                        return _$0;
                    }

                    public void set_$0(String _$0) {
                        this._$0 = _$0;
                    }
                }

                public static class SelectsBean implements Serializable{
                    /**
                     * id : 1
                     * label : 万位
                     * content : [0,1,2,3,4,5,6,7,8,9]
                     * tools : 1
                     */

                    private String id;
                    private String label;
                    private String tools;
                    private List<String> content;
                    private int selectLabel;

                    public String getId() {
                        return id;
                    }

                    public void setId(String id) {
                        this.id = id;
                    }

                    public String getLabel() {
                        return label;
                    }

                    public void setLabel(String label) {
                        this.label = label;
                    }

                    public String getTools() {
                        return tools;
                    }

                    public void setTools(String tools) {
                        this.tools = tools;
                    }

                    public List<String> getContent() {
                        return content;
                    }

                    public void setContent(List<String> content) {
                        this.content = content;
                    }

                    public int getSelectLabel() {
                        return selectLabel;
                    }

                    public void setSelectLabel(int selectLabel) {
                        this.selectLabel = selectLabel;
                    }
                }

                public static class CheckboxsBean implements Serializable{
                    /**
                     * id : 1
                     * title : 位置
                     * label : ["万位","千位","百位","十位","个位"]
                     */

                    @SerializedName("id")
                    private String idX;
                    private String title;
                    private List<String> label;

                    public String getIdX() {
                        return idX;
                    }

                    public void setIdX(String idX) {
                        this.idX = idX;
                    }

                    public String getTitle() {
                        return title;
                    }

                    public void setTitle(String title) {
                        this.title = title;
                    }

                    public List<String> getLabel() {
                        return label;
                    }

                    public void setLabel(List<String> label) {
                        this.label = label;
                    }
                }
            }
        }

        public static class OddsBean {
            /**
             * rule_id : 2903
             * name : 单
             * odds : 1.97
             */

            private String rule_id;
            @SerializedName("name")
            private String nameX;
            private String odds;

            public String getRule_id() {
                return rule_id;
            }

            public void setRule_id(String rule_id) {
                this.rule_id = rule_id;
            }

            public String getNameX() {
                return nameX;
            }

            public void setNameX(String nameX) {
                this.nameX = nameX;
            }

            public String getOdds() {
                return odds;
            }

            public void setOdds(String odds) {
                this.odds = odds;
            }
        }
    }

    public static class ColorBean implements Parcelable{


        private List<String> red;
        private List<String> blue;
        private List<String> green;

        public List<String> getRed() {
            return red;
        }

        public void setRed(List<String> red) {
            this.red = red;
        }

        public List<String> getBlue() {
            return blue;
        }

        public void setBlue(List<String> blue) {
            this.blue = blue;
        }

        public List<String> getGreen() {
            return green;
        }

        public void setGreen(List<String> green) {
            this.green = green;
        }

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeStringList(this.red);
            dest.writeStringList(this.blue);
            dest.writeStringList(this.green);
        }

        public ColorBean() {
        }

        protected ColorBean(Parcel in) {
            this.red = in.createStringArrayList();
            this.blue = in.createStringArrayList();
            this.green = in.createStringArrayList();
        }

        public static final Creator<ColorBean> CREATOR = new Creator<ColorBean>() {
            @Override
            public ColorBean createFromParcel(Parcel source) {
                return new ColorBean(source);
            }

            @Override
            public ColorBean[] newArray(int size) {
                return new ColorBean[size];
            }
        };
    }
}
